import { listFestivalAndHoliday } from "../../service/api/api-home";
import { getHttp } from "../../utils/http";
import { calculateDaysAgo, handleErrCode } from "../../utils/util";

Page({

  /**
   * 页面的初始数据
   */
  data: {
    isLoading: true,//是否正在加载
    isFirst: true,//是否第一次进入首页
    navBarHeight: 0,//导航栏高度
    access: {} as any,//用户权限
    modal: false,//线索征集分类
    currentUser: {},//当前用户完整信息
    isShowChange: true,//是否显示切换单位按钮
    festivalAndHolidayList: [],//节假日列表
    canIUse: wx.canIUse('button.open-type.getUserInfo'),
    canIUseOpenData: wx.canIUse('open-data.type.userAvatarUrl') && wx.canIUse('open-data.type.userNickName'), // 如需尝试获取用户信息可改为false
    noticeInstructs: [],
    functionList: [],//有权限的菜单入口列表
    previewDataUrlType: 'analysis',//数据统计
    run: 0,//列表状态
    mode: 1,//
    analysisUrl: getHttp() + '/user/nested',//数据统计链接
    userAnalysisUrl: getHttp() + '/user/nested',//数据统计链接
    route: "/cues/analysisWx",//免登录路径
    userRoute: "/user/analysisWx",//免登录路径
    // analysisUrl:'http://localhost:8000/cues/analysisWx',
    allList: [
      {
        name: "图文审读",// 功能名称
        icon: "article.png",// 功能图标
        access: ['inIframeShowMonitor', 'inIframeShowArticle'],// 功能权限
        description:"图文错误审核，纠错",//描述
        methods: "jumpToArticle",// 功能跳转函数
        show: false,// 功能是否显示
      },
      {
        name: "视听监测",// 功能名称
        icon: "video.png",// 功能图标
        access: ['inIframeShowMonitor', 'inIframeShowVideo'],// 功能权限
        description:"视频音频错误截取",//描述
        methods: "jumpToVideo",// 功能跳转函数
        show: false,// 功能是否显示
      },
      {
        name: "联动处置",// 功能名称
        icon: "dispose.png",// 功能图标
        access: ['inIframeShowMonitor', 'inIframeShowDispose'],// 功能权限
        description:"错误稿件处置",//描述
        methods: "jumpToDispose",// 功能跳转函数
        show: false,// 功能是否显示
      },
    ],
    topicList: [],//线索征集的列表
  },
  //选中节假日
  onSelectFestivalAndHolidayList(e) {
    const index = e.currentTarget.dataset.index;
    this.data.festivalAndHolidayList[index].selected = !this.data.festivalAndHolidayList[index].selected;
    this.setData({
      festivalAndHolidayList: this.data.festivalAndHolidayList
    });
  },
  //获取节假日列表
  async loadListFestivalAndHoliday() {
    const res = await listFestivalAndHoliday()
    if (res.code === 0) {
      this.setData({
        festivalAndHolidayList: res.data
      })
    }
  },
  /**
   * 菜单点击跳转
   */
  funJump(e: any) {
    const { item } = e.currentTarget.dataset || {};
    this[item.methods] && this[item.methods](item);
  },
  //跳到我的页面
  jumpToMy() {
    wx.navigateTo({
      url: '/pages/my/index',
    })
  },

  /**
    * 跳转技术支持
    */
  jumpToFeedback() {
    wx.navigateTo({
      url: '/pages/feedback/index',
    })
  },

  /**
 * 跳转账户管理
 */
  jumpToAdminAccount() {
    wx.navigateTo({
      url: '/pages/admin/account/index',
    })
  },
  /**
   * 跳转到图文审读
   */
  jumpToArticle() {
    const access = this.data.access;
    console.log(access);
    
    if (access.inIframeShowMonitor && access.inIframeShowArticle) {
      // if (access.签到推广x列表x管理员) {// 管理员
      //   wx.navigateTo({
      //     url: '/pages/promotionAdmin/index',
      //   })
      // } else {
      //   wx.navigateTo({
      //     url: '/pages/promotion/index',
      //   })
      // }
      console.log('ddddd');
      wx.navigateTo({
        url: '/pages/article/index',
      })
    } else {
      handleErrCode('暂未开通改服务')
    }
  },
  /**
   * 跳转到视听监测
   */
  jumpToVideo() {
    const access = this.data.access;
    if (access.inIframeShowMonitor && access.inIframeShowVideo) {
      wx.navigateTo({
        url: '/pages/video/index',
      })
    } else {
      handleErrCode('暂未开通改服务')
    }
  },
  /**
   * 跳转到联动处置
   */
  jumpToDispose() {
    const access = this.data.access;
    if (access.inIframeShowMonitor && access.inIframeShowDispose) {
      // if (access.线索上报x选题计划x配置x需求者) {// 管理员
      //   wx.reLaunch({
      //     url: '/pages/cues/topic/index',
      //   })
      // } else {
      //   wx.reLaunch({
      //     url: '/pages/cues/topic/index',
      //   })
      // }
      wx.navigateTo({
        url: '/pages/dispose/index',
      })
    } else {
      handleErrCode('暂未开通改服务')
    }
  },
  //选择组织
  changeOrganization() {
    wx.reLaunch({
      url: `/pages/user/select/index?accountId=${this.data.currentUser.id}`
    })
  },
  /**
   * 钩子函数登录
   *
   * load的时候获取用户信息
   */
  onLoadCurrentUser() {
    const { globalData: { access, currentUser, navBarHeight, menuRight } } = getApp();
    let { allList: newList } = this.data;
    newList.forEach(item => {
      item.show = item.access.filter(acc => access[acc]).length > 0
    })
    if (currentUser.isHasSelectLoginOrganization == 0) {
      this.setData({
        isShowChange: false
      })
    }
    if (currentUser) {
      this.setData({
        access,
        functionList: newList.filter(item => item.show),
        currentUser,
        navBarHeight,
        menuRight,
        isLoading: false
      })
    }
    const mode = this.data.access.cuesTopicConfigManage ? 1 : this.data.access.cuesTopicConfigNeedDepartment || this.data.access.cuesTopicConfigNeedMedia ? 2 : 1;
    let run = undefined;
    if (!(this.data.access.cuesTopicConfigNeedDepartment || this.data.access.cuesTopicConfigNeedMedia)) {
      run = 1;
    }
    this.setData({
      run,
      mode
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */


  onLoad(option) {
    // this.loadListFestivalAndHoliday()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    // this.onClickLogin(false);// 主动调用登录
    wx.showShareMenu({
      withShareTicket: true,
      menus: [
        'shareAppMessage', // 分享给朋友
        // 'shareTimeline',// 分享到朋友圈
      ]
    });
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },
  //  组件所在页面的生命周期


  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    console.log("refresh");

    this.onRefresh();
  },
  onRefresh() {
    //导航条加载动画
    wx.showNavigationBarLoading();
    //停止下拉刷新
    this.loadListFestivalAndHoliday()

    setTimeout(() => {
      wx.stopPullDownRefresh();
      wx.hideNavigationBarLoading();
    }, 1000);
  },
  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },


})